// import { setInterval } from 'core-js'

export default function cursorFocus({ vm, action, done }) {
  let moduleId = action.extension.formItemSelect.value //获取选中得字段
  if (moduleId) {
    let formItem = vm.vuiComponents && vm.vuiComponents[moduleId] //获取选中得组件
    // console.log('Nico光标3', formItem, formItem.ref.$el, vm.vuiComponents, moduleId)
    let itemType = formItem && formItem.ref && formItem.self.info.type

    if (itemType === 'uiPdaButton') {
      formItem && formItem.ref && formItem.ref.$el.blur() //组件失去焦点
      setTimeout(() => {
        formItem && formItem.ref && formItem.ref.$el.focus() //组件聚焦
      }, 2)
    } else {
      formItem && formItem.ref && formItem.ref.blur() //组件失去焦点
      setTimeout(() => {
        formItem && formItem.ref && formItem.ref.focus() //组件聚焦
        // if (!formItem) {
        //   formItem = {}
        // }
        // if (eventName === 'onLoad' && !formItem.ref) {
        //   // 如果是组件载入时触发的，则等到组件实例创建之后再聚焦
        //   let timeOut = 0
        //   const intervalObj = setInterval(() => {
        //     timeOut += 500
        //     let formItem = vm.vuiComponents && vm.vuiComponents[moduleId] //获取选中得组件
        //     formItem && formItem.ref && formItem.ref.focus() //组件聚焦
        //     if (timeOut > 2000 || (formItem && formItem.ref)) {
        //       clearInterval(intervalObj)
        //     }
        //   }, 100)
        // }
      }, 2)
    }

    setTimeout(() => {
      let system = navigator.userAgent
      //如果为安卓端，光标聚焦后隐藏输入法
      if (system.indexOf('Android') > -1 || system.indexOf('Linux') > -1) {
        window.$CIMC.hideBoard()
      }
    }, 2.1)
    done(null, {})
  }
}
